SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[spAltaDivision]

@mnemo varchar(50),
@idsuborg int = null,
@Descripcion varchar(50),
@EsGrupo varchar(1),
@Curso varchar(5),
@Division varchar(13),
@GrupoCarreras int,
@Turno int,
@FechaAlta varchar(10),
@Baja varchar(1),
@FechaBaja varchar(10),
@Cuise int,
@EsPrivada varchar(1),
@DivPriv int,
@ABM int,
@plaza int,
@agente int,
@Cargo varchar(20),
@stamp datetime

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion


AS

--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end
SET NOCOUNT ON
declare @mensaje int
declare @mess varchar(200)
select @mess = 'S'


if exists (Select * from tb_divisionestemp where curso = @curso and division = @division and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise ) begin
declare @iddivision int 
Select @iddivision =  @@identity

select @iddivision = iddivision from tb_divisionestemp where curso = @curso and division = @division and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise
if not exists (select * from tb_plazadivision where division = @iddivision and plaza = @plaza and agente =@agente) begin

if @plaza <> null begin
insert into tb_plazadivision(division,plaza,agente,cargo,hora) VAlues (@iddivision,@plaza,@agente,@cargo,@stamp)
end 

Select @mensaje = 2,@mess = @iddivision
end
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_divisionestemp (Mnemo,idSubOrg,Descripcion,EsGrupo,Curso,Division,GrupoCarreras,Turno,FechaAlta,Baja,FechaBaja,CUISE,EsPrivada,Divpriv,cargo,hora)
VALUES (@Mnemo,@idSubOrg,@Descripcion,@EsGrupo,@Curso,@Division,@GrupoCarreras,@Turno,@FechaAlta,@Baja,@FechaBaja,@CUISE,@EsPrivada,@Divpriv,@cargo,@stamp)

select @iddivision = iddivision from tb_divisionestemp where curso = @curso and division = @division and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise
if @plaza <> null begin
insert into tb_plazadivision(division,plaza,agente,cargo,hora) VAlues (@iddivision,@plaza,@agente,@cargo,@stamp)
Select @mensaje = 2,@mess = @iddivision
end 
if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end

select @mess as messenger
GO
